草庐IT

Javascript JsTestDriver Jasmine 和 Jasmine-jquery

全部标签

javascript - jquery .each 在继续循环之前等待函数完成

我实际上是在尝试遍历LI标记的集合并插入一些文本来模拟某人编写待办事项列表的外观。它有效,但它同时写入每个列表项而不是等待。有没有一种简单的方法可以实现这一目标?我在这里设置了一个JSfiddle:http://jsfiddle.net/fZpzT/但代码看起来像这样。谢谢。functionaddListItems(){varstr={listitem1:'personalbackgroundcheck',listitem2:'lookintomysketchyneighbor',listitem3:'lookupmydrivingrecord',listitem4:'pickupmi

javascript - JQuery UI 可拖动 : Exceed containment on one side

我正在使用JQueryUI来实现可调整大小/可拖动的元素。现在我想为这些元素定义一个容器,以限制在三个(!)边上的调整大小/拖动。例如。看看这个JSFiddleexample.您可以看到包含的元素只能在父区域内调整大小/拖动。我想实现的是元素可以超出底部阈值并移动到父元素的底部边框之外。尽管如此,调整大小/拖动仍应限制在顶部、右侧和左侧,如父级相应边框所规定的那样。所以thismodification是我想出的://resizable/draggableoptionresize/drag:function(event,ui){expandParent("#parentElement",

javascript - jQuery post 不返回任何响应数据

我有这个代码$(document).delegate('#login','pageinit',function(event){console.log('insideloginpage')$('#loginform').submit(function(){//Getthevalueoftheusernameandpasswordvarmyusername=$("#username").val();varmypassword=$("#password").val();//Posttotheloginroute$.post(global_urlstub+'/customer_login',{

javascript - 链式 jQuery promises with abort

我目前正在编写API代码,其中包含多层深度的$.ajax()调用。一个要求是用户必须能够取消任何请求(例如,如果它花费的时间太长)。通常这是通过一些简单的事情来完成的,比如:varjqXHR=$.ajax(..);$(mycancelitem).click(function(){jqXHR.abort();});但是我的代码看起来更像这样:functionmyapicall(){varjqxhr=$.ajax(…);varprms=def.then(function(result){//modifytheresultherereturnresult+5;});returnprms;}这

javascript - 使用 JQuery 将文件上传到带有预签名 url 的 S3 时出错

我们正在尝试使用jQueryajax和预签名url将文件上传到S3。我们在服务器上生成预签名的url。目前我们正在尝试使用FormData上传文件。varuploadData=newFormData(),files=$(this.input).prop('files'),file=files[0];uploadData.append('file',file);$.ajax({url:'{presignedurlstring}',type:'PUT',data:uploadData,cache:false,processData:false,contentType:false,succe

javascript - AngularJs Jasmine 单元测试中的 $httpBackend

我无法让我的单元测试正常工作。我有一个开始为空的$scope数组,但应该用$http.get()填充。在真实环境中,数组中大约有15个左右的对象,但对于我的单元测试,我只抓取了2个。对于单元测试,我有:expect($scope.stuff.length).toBe(2);但jasmine的错误是:Expected0tobe2.这是我的controller.js:$scope.stuff=[];$scope.getStuff=function(){varurl=site.root+'api/stuff';$http.get(url).success(function(data){$sc

javascript - AngularJS Jasmine isolateScope() 返回未定义

我希望从我的help-button指令中的隔离范围中得到一些东西。it('shouldcontainproperscope,dependingonattributes',function(){varel=compile('')(scope);scope.$digest();console.log("el:"+el);console.log('Isolatedscope:'+el.isolateScope());..});--在每次测试之前beforeEach(inject(function($compile,$rootScope,$injector){compile=$compile;

javascript - 没有 JQuery 的 Vanilla Javascript .fadein() .fadeOut()

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭7年前。Improvethisquestion我正在为IE10+开发,所以我决定不使用JQuery。我为Select、Fadein、FadeOut等编写了自定义javascript函数,并且工作正常。但我喜欢使用JQuery风格的函数(Object.fadeIn()、Object.FadeOut()等)。我使用这个代替JQuery选择器。function_(el){returndocument.getElementById(el);}当我需要

javascript - 从 JQuery Ajax 处理 FileResult

我有一个返回FileResult的MVCC#Controller[HttpPost]publicFileResultFinaliseQuote(stringquote){varfinalisedQuote=JsonConvert.DeserializeObject(System.Uri.UnescapeDataString(quote));returnFile(finalisedQuote.ConvertToPdf(),"application/pdf");}现在我希望能够下载结果(我不希望它在浏览器中打开)我在JavaScript中通过$.ajax方法调用Controllervarp

javascript - 具有多个返回值的 Jasmine spyOn

我想用Jasmine测试我的Angular应用程序。所以我创建了一些测试,其中大部分都运行良好。但是,我的功能之一要求用户填写提示。测试无法填充此提示,所以我用spyOn(window,'prompt').and.returnValue('test')模拟了它们。这有效,但只有一次。当我添加两个组件(提示所在的函数)时,我想spyOn第一个提示结果为“test”,第二个提示结果为“test2”。我试过这样做:it'shouldplacethecomponentaslastobjectintheform',->spyOn(window,'prompt').and.returnValue(